package com.ck.client.dao;

import com.ck.client.model.vo.ProgramPlayListVO;
import com.ck.common.model.Program;
import com.ck.client.model.vo.ProgramVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 节目
 *
 * @author linq
 * @date 2018-07-19 10:10
 */
public interface ProgramMapper {
    /**
     * 获取终端最新节目
     *
     * @param deviceCode   终端code
     * @param currentMills 当前时间
     * @return List<ProgramDTO>
     */
    List<ProgramVO> getNewestProgram(@Param("deviceCode") String deviceCode, @Param("currentMills") Long currentMills);

    /**
     * 更新节目信息
     *
     * @param programInfo 节目信息
     */
    void updateProgram(Program programInfo);

    /**
     * 通过版本号获取节目信息
     * @param downloadProgramVersion 节目版本号
     * @return
     */
    ProgramVO getProgramByVersion(@Param("downloadProgramVersion") String downloadProgramVersion);

    List<ProgramPlayListVO> getNewestSourcesByDeviceCode(@Param("deviceCode") String deviceCode,
                                                         @Param("programVersions") List<String> newestProgramVersionList,
                                                         @Param("resolution") String resolution);
}